import http from '@src/util/HttpUtil';
import { objectDateToTimestamp } from 'pub-bbx-utils';
const prefix='/api/customer';

/* 客户、产品附加组件设置 */

/**
 * @description 获取列表
 * @param {Object} params -- 参数对象
 * @param {String} params.cardType -- customer或product
 */
export const getAllCardList=(params={})=>{
  return http.post(`${prefix}/outside/card/getAllCardList`,params);
}

/**
 * @description 获取模板库列表
 * @param {Object} params -- 参数对象
 * @param {String} params.cardType -- customer或product
 */
export const getTemplateList=(params={})=>{
  return http.get(`${prefix}/outside/card/template/list`,params);
}

/**
 * @description 保存附件组件
 * @param {Object} params -- 参数对象
 * @param {String} params.cardType -- customer或product
 * @param {String} params.description -- 描述
 * @param {String} params.name -- 名称
 * @param {String} params.inputType -- 单词、多次
 * @param {String} params.id -- id
 */
export const cardSave=(params={})=>{
  return http.post(`${prefix}/outside/card/save`,params);
}

/**
 * @description 删除附件组件
 * @param {Object} params -- 参数对象
 * @param {String} params.cardType -- customer或product
 * @param {String} params.id -- id
 */
export const cardDelete=(params={})=>{
  return http.post(`${prefix}/outside/card/delete`,params);
}

/**
 * @description 获取卡片字段集合
 * @param {Object} params -- 参数对象
 * @param {String} params.cardType -- customer或product
 * @param {String} params.id -- id
 */
export const getCardFieldList=(params={})=>{
  return http.post(`${prefix}/outside/card/getCardFieldList`,params);
}

/**
 * @description 保存附加组件字段
 * @param {Object} params -- 参数对象
 * @param {String} params.cardType -- customer或product
 * @param {String} params.cardId -- id
 * @param {Array}  params.cardFields -- 组件字段
 */
export const fieldEdit=(params={})=>{
  return http.post(`${prefix}/outside/card/field/edit`,params);
}

/**
 * @description 启用、禁用附加组件
 * @param {Object} params -- 参数对象
 * @param {String} params.cardType -- customer或product
 * @param {String} params.id -- id
 * @param {Array}  params.enabled -- 是否禁用 0 1
 */
export const cardEnabled=(params={})=>{
  return http.post(`${prefix}/outside/card/enabled`,params);
}

/**
 * @description 查看统计详情列表
 * @param {Object} params -- 参数对象
 */
export const getUsingList=(params={})=>{
  objectDateToTimestamp(params, ['startTime', 'endTime'])
  return http.post(`${prefix}/outside/card/using/list`,params);
}

/**
 * @description 导入模板接口
 * @param {Object} params -- 参数对象
 * @param {String} params.cardType -- customer或product
 * @param {String} params.cardId -- cardId
 * @param {String} params.inputType -- 导入类型 single、multiple
 */
export const cardImport=(params={})=>{
  return http.post(`${prefix}/outside/card/template/import`,params);
}

/**
 * @description 客户产品详情里的组件信息和字段信息列表
 * @param {Object} params -- 参数对象
 * @param {String} params.cardType -- customer或product
 */
export const getEnabledCardInfo=(params={})=>{
  return http.get(`${prefix}/outside/card/getEnabledCardInfo`,params);
}

/**
 * @description 详情里获取组件信息集合
 * @param {Object} params -- 参数对象
 * @param {String} params.cardType -- customer或product
 * @param {String} params.primaryId -- 客户/产品id
 */
export const getCardInfoByPrimaryId=(params={})=>{
  return http.post(`${prefix}/outside/card/getCardInfoByPrimaryId`,params);
}

/**
 * @description 详情里添加/编辑附加组件
 * @param {Object} params -- 参数对象
 * @param {String} params.cardType -- customer或product
 * @param {String} params.primaryId -- 客户/产品id
 */
export const saveCardInfo=(params={})=>{
  return http.post(`${prefix}/outside/card/saveCardInfo`,params);
}

/**
 * @description 详情里删除组件信息接口
 * @param {Object} params -- 参数对象
 * @param {String} params.cardType -- customer或product
 * @param {String} params.primaryId -- 客户/产品id
 * @param {String} params.cardId -- 组件Id
 * @param {String} params.infoId -- 此条组件信息Id	
 */
export const deleteCardInfo=(params={})=>{
  return http.post(`${prefix}/outside/card/deleteCardInfo`,params);
}


/**
 * @description 左侧菜单权限控制--无需参数
 * @param {Object} params -- 参数对象
 */
 export const customerCheckShow=(params={})=>{
  return http.get(`/setting/customer/checkShow`,params);
}
